1. Field of the Invention
The present invention relates to an apparatus and method for evaluating performance of a data processing unit, and more particularly to an apparatus, method, and program for implementing the method, for evaluating a static performance of a program that is executed on an asynchronous pipeline data processing unit based on a data driven architecture.
2. Description of the Background Art
To process a large volume of data at high speed, parallel processing is effective. One of architectures suitable for such parallel processing is a data driven architecture. In an information processing system based on the data driven architecture, processing proceeds in parallel according to a rule that a certain operational processing is not performed before all the input data necessary for the operational processing are prepared and a resource such as an operation unit necessary for the operational processing is assigned.
A configuration of such a data driven-base processing unit is shown, for example, in PDPTA '98 International Conference, “Super-Integrated Data-Driven Processor Realizing Hyper-Distributed System Environment”, Muramatsu et al., 1998, pp. 461-468. The Muramatsu document describes a self-synchronous or asynchronous transfer system in which packet transfer between pipeline stages within the data driven processing unit is carried out in accordance with a handshake scheme. The document verifies that processing performance depends on a flow rate of the packets being transferred via the pipeline stages. In the packet transfer, if a filling rate of the pipeline stages is less than a certain value, the packet transfer rate is improved as the number of input data packets increases. When the filling rate of the pipeline stages attains a certain value, the packet transfer rate comes to a maximum. As the number of input packets further increases beyond the certain value, the packet transfer rate decreases due to overflow of the pipeline.
While Muramatsu verifies that maximum processing performance is obtained when the filling rate of the pipeline stages is at a certain value, he is silent on the time required for system evaluation and others.
In the Muramatsu document, a plurality of data driven processors are provided in parallel to achieve parallel processing. As such a multiprocessor system with a plurality of processors involved, a data driven processing unit having, e.g., ten or more processor elements integrated therein is assumed for executing audio signal processing, for example. Here, the processor element corresponds to a unit data driven processing device.
In the case of an application flow graph representing an audio signal processing program, thousands of nodes are assigned to the data driven processing unit, and data are input at a constant rate. In the data driven processing unit, if data (packets) are input at a rate exceeding an input rate processible at each processor element, the pipeline overflows and the processing is stopped. Thus, it is necessary to provide a measure for verifying a data rate of input data acceptable to the data driven processing unit of the multiprocessor.
A synchronous processor, which performs processing based on an external clock signal, has its processing performance dominated by the external system clock. Thus, the input rate of the data acceptable to a program executed on the processor is obvious. In contrast, in the case of an asynchronous or self-synchronous pipeline processor, there is no external system clock signal, and its operation speed is not governed by the clock signal. Thus, it is difficult to predict the rate of the data stream acceptable to the program under execution.
Conventionally, a simulator of high accuracy guaranteeing the operation speed has been used to verify the operation experimentally by changing input intervals of the input data stream, for determining the rate of the input data stream processible by the processor. The execution speed of such a simulator of high accuracy is not at a practically satisfactory level, and evaluation of the data input rate requires a long period of time. There has been a demand for a simple evaluation technique that can evaluate a data transfer rate in a short period of time.